package com.ssy.lingxi.member.merchant.handler.annotation;

import com.ssy.lingxi.member.merchant.handler.validator.PhoneCheckClassValidator;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

/**
 * 根据国家代码校验手机号码注解，使用在VO对象的Class的定义上
 * <p>VO中必须有两个字段，一个是国家代码，一个是手机号码
 * @author 万宁
 * @version 2.0.0
 * @date 2020-12-04
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = PhoneCheckClassValidator.class)
public @interface PhoneCheckClassAnnotation {

    //国家代码的字段名称
    String countryCodeFieldName() default "countryCode";

    String countryCode() default "+86";

    //手机号码的字段名称
    String phoneFieldName() default "phone";

    String message() default "请输入正确的手机号码";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};

    // 是否略过统一校验 选择true的话将交由业务进行校验
    boolean ignore() default false;
}
